#ifndef _HEADER_SCALARFIELD2_
#define _HEADER_SCALARFIELD2_
#include <memory>
using namespace std;
#include "Ogre.h"
#include "FlowSimUtil.h"
namespace FlowSim
{
class ScalarField2
{
public:
  static auto_ptr<ScalarField2> blankField(int size); //construct a blank 2d scalar field
  static void blankFieldGpu(const Ogre::TexturePtr &tex,int size);
public:
  ScalarField2(int size);
  virtual ~ScalarField2();

  Ogre::Real* getData(); //return the scalar field data.
  int getSize(){return _size;}
  void zeroField(); //set all values of this scalar field to zero.
protected:
  int _size;
  Ogre::Real* _data;
};
}

#endif
